package cn.wen.mybatis.framework.transaction;import cn.wen.mybatis.framework.session.TransactionIsolationLevel;import javax.sql.DataSource;import java.sql.Connection;import java.util.Properties;/** * 生产事务的工厂类 */public interface TransactionFactory {    /**     * 将参数设置到properties文件中     * @param properties     */    void setProperties(Properties properties);    /**     * 通过连接来获取该连接的事务     * @param connection     * @return     */    Transaction newTransaction(Connection connection);    /**     * 通过数据源 DataSource     * TransactionIsolationLevel隔离级别     * 事务是否自动提交来获取事务     * 三个参数     * @param dataSource     * @param level     * @param autoCommit     * @return     */    Transaction newTransaction(DataSource dataSource, TransactionIsolationLevel level, boolean autoCommit);}